home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 June / EnigmA AMIGA RUN 08 (1996)(G.R. Edizioni)(IT)[!][issue 1996-06][EARSAN CD VII].iso / earcd / comm2 / mmdlg100.lha / REXX / MM_DLGUpload.rexx
OS/2 REXX Batch file  |  1996-04-25  |  7KB  |  58 lines

  1. /*
  2. ** $VER: MM_DLGUpload 1.00 (02.04.96)
  3. **
  4. ** Written by Paolo Carotenuto
  5. **
  6. */
  7.  
  8. DROP MM. ; PARSE ARG MM.AreaTag MM.AreaPath MM.Name MM.PathName MM.OriginNode MM.Size MM.UserFlags MM.Replace MM.Desc
  9.  
  10. /* -----------------------------> CONFIG <------------------------------- */
  11.  
  12. MM.Banner   = 'DLGConfig:Text/DIB.txt' ; 
  13. MM.HatchLog = 'Logs:MM_Hatch.Log'
  14. MM.Uploader = 'Paolo Carotenuto'
  15. MM.Mode     = '1'
  16.  
  17. /* ---------------------------------------------------------------------- */
  18. MM.LogLevel = 2 ; MM.PrgName  = 'MM_DLGUpload v1.00'
  19. /* ---------------------------------------------------------------------- */
  20.  
  21. IF MM.AreaTag = '?' THEN DO ;  SAY '' ;  SAY MM.PrgName'  (C) 1994-96 By Paolo Carotenuto' ; SAY '' ; SAY 'Usage:' ;  SAY 'Rx MM_DLGUpload' ; SAY '' ; EXIT 0 ; END ; OPTIONS RESULTS ; IF ~SHOW( 'l', "rexxsupport.library" ) THEN DO ; IF ~ADDLIB( "rexxsupport.library", 0, -30, 0 ) THEN DO ; SAY LogDate() '- Could not open rexxsupport.library' ;  EXIT 10 ; END ; END
  22. IF MM.AreaTag = '' THEN DO ;  ADDRESS 'MAILMANAGER' ; CALL WriteLog(MM.PrgName' - Started!') ; MakeDir('T:DLGTick') ; MM_ImportTicks ; MM.Dirs = '' ; MM.Dirs = UPPER(SHOWDIR('T:DLGTick','D',' ')) ; IF MM.Dirs ~= '' THEN DO ; DO WHILE MM.Dirs ~= '' ; PARSE VAR MM.Dirs TagName MM.Dirs ; MM.UpDir       = SHOWDIR('T:DLGTick/'||TagName,'D',' ') ; MM.Uploader    = TRANSLATE(STRIP(TRANSLATE(MM.UpDir," ","#"))," ","_") ; MM_DeleteFile 'T:DLGTick/'||TagName||'/'||MM.UpDir ; Messaggio.From = MM.Uploader ;  Messaggio.To   = 'ALL' ; Messaggio.Subj = 'New Files' ; Messaggio.Tear = MM.PrgName ; Messaggio.File = 'T:DLGTick/'||TagName||'/MM_TickLog.txt' ;  MM_WriteMsg TagName Messaggio ; MM_DeleteFile 'T:DLGTick/'||TagName||'/MM_TickLog.txt' ; MM_DeleteFile 'T:DLGTick/'||TagName  ; END ; MM_Export 'SMARTEXPORT' ; END ; MM_DeleteFile 'T:DLGTick' ; CALL WriteLog(MM.PrgName' - Done!') ; EXIT 0 ; END
  23. MM.Size      = STRIP(MM.Size) ; MM.Date      = DATE() TIME() ; MM.Uploader  = TRANSLATE(MM.Uploader,"_"," ") ; MM.PathName  = UPPER(MM.PathName) ; MM.Name      = UPPER(MM.Name) ; MM.Desc      = STRIP(TRANSLATE(MM.Desc,' ','"',)) ; MM.UserFlags = STRIP(TRANSLATE(MM.UserFlags,' ','"')) ; MM.Log       = '' ; MM.Aree      = '' ; CALL AreaLog() ; IF MM.Replace ~= '""' THEN DO ; MM.Replace = STRIP(TRANSLATE(MM.Replace,' ','"')) ;  ADDRESS COMMAND 'DLG:MMDLGUpload DEL' MM.Replace MM.AreaPath MM.DLGArea ; END ; ADDRESS COMMAND 'DLG:MMDLGUpload ADD' MM.Name MM.AreaPath MM.DLGArea MM.Size Week() '"'TRANSLATE(MM.Uploader," ","_")'"' MM.Desc ; EXIT
  24.  
  25. /* ---------------------------------------------------------------------- */
  26.  
  27. AreaLog: PROCEDURE EXPOSE MM. ; MM.AreaLog.Count = 0 ; MM.Logs.Count    = 0 ; DO WHILE MM.UserFlags ~= '' ; Posi  = LASTPOS('#',MM.UserFlags) ; CALL Strippa(RIGHT(MM.UserFlags,LENGTH(MM.UserFlags)-Posi)) ; MM.UserFlags = LEFT(MM.UserFlags,Posi-1) ; END ; IF ~EXISTS('T:DLGTick') THEN DO ; IF ~EXISTS(MM.HatchLog) THEN DO ; ADDRESS COMMAND 'C:Copy >NIL: 'MM.Banner MM.HatchLog ; END
  28.  IF ~OPEN('Tmp',MM.HatchLog, 'A') THEN DO ; SAY LogDate() '- *** Error: Can not open 'MM.HatchLog ; EXIT 10 ; END ; CALL Lista('Tmp') ; CALL CLOSE('Tmp') ; RETURN ; END ; DO WHILE MM.Log ~= '' ; PARSE VAR MM.Log LogName MM.Log ; Cont          = MM.Logs.Count ; MM.Logs.Cont  = LogName ; MM.Logs.Count = Cont + 1 ; END ; DO j = 0 FOR MM.Logs.Count ; IF ~EXISTS(MM.Logs.j) THEN DO ; ADDRESS COMMAND 'C:Copy >NIL: 'MM.Banner MM.Logs.j ; END ; IF ~OPEN('Tmp',MM.Logs.j, 'A') THEN DO ;  SAY LogDate() '- *** Error: Can not open 'MM.Logs.j ; ITERATE ; END ; CALL Lista('Tmp') ; CALL CLOSE('Tmp') ; END
  29.  DO WHILE MM.Aree ~= '' ; PARSE VAR MM.Aree TagName MM.Aree ;  Cont             = MM.AreaLog.Count ;   MM.AreaLog.Cont  = TagName ;  MM.AreaLog.Count = Cont + 1 ; END ; DO i = 0 FOR MM.AreaLog.Count ; IF ~EXISTS('T:DLGTick/'||MM.AreaLog.i) THEN DO ; MakeDir('T:DLGTick/'||MM.AreaLog.i) ;  MakeDir('T:DLGTick/'||MM.AreaLog.i||'/#'||MM.Uploader) ; ADDRESS COMMAND 'C:Copy >NIL: 'MM.Banner 'T:DLGTick/'||MM.AreaLog.i||'/MM_TickLog.txt' ; END ; IF OPEN(MM.AreaLog.i,'T:DLGTick/'||MM.AreaLog.i||'/MM_TickLog.txt','A') THEN DO ; CALL Lista(MM.AreaLog.i) ; CLOSE(MM.AreaLog.i) ; END ; ELSE DO ; SAY LogDate() '- File not Open -> T:DLGTick/'||MM.AreaLog.i||'/MM_TickLog.txt' ; EXIT 10 ; END ; END ; RETURN
  30.  
  31. /* ---------------------------------------------------------------------- */
  32.  
  33. Strippa: PROCEDURE EXPOSE MM. ; PARSE ARG Linea ; IF INDEX(Linea,'AREAS') ~= 0 THEN DO ; Posi = INDEX(Linea,'=') ; MM.Aree = TRANSLATE(STRIP(TRANSLATE(RIGHT(Linea,LENGTH(Linea)-Posi)," ","()"))," ","+") ; RETURN ; END ; IF INDEX(Linea,'BANNER') ~= 0 THEN DO ; Posi = INDEX(Linea,'=') ; MM.Banner = STRIP(TRANSLATE(RIGHT(Linea,LENGTH(Linea)-Posi)," ","()")) ; RETURN ; END ; IF INDEX(Linea,'UPLOADER') ~= 0 THEN DO ; Posi = INDEX(Linea,'=') ; MM.Uploader = STRIP(TRANSLATE(RIGHT(Linea,LENGTH(Linea)-Posi)," ","()")) ; RETURN ; END
  34. IF INDEX(Linea,'MODE') ~= 0 THEN DO ; Posi = INDEX(Linea,'=') ; MM.Mode = STRIP(TRANSLATE(RIGHT(Linea,LENGTH(Linea)-Posi)," ","()")) ; RETURN ; END ; IF INDEX(Linea,'LOG') ~= 0 THEN DO ; Posi = INDEX(Linea,'=') ;  MM.Log = TRANSLATE(STRIP(TRANSLATE(RIGHT(Linea,LENGTH(Linea)-Posi)," ","()"))," ","+") ;  RETURN ; END ; IF INDEX(Linea,'DLGAREA') ~= 0 THEN DO ; Posi = INDEX(Linea,'=') ; MM.DLGArea = STRIP(TRANSLATE(RIGHT(Linea,LENGTH(Linea)-Posi)," ","()")) ; RETURN ; END ; RETURN
  35.  
  36. /* ---------------------------------------------------------------------- */
  37.  
  38. Allinea: PROCEDURE ; PARSE ARG Stringa, Len ; IF Len < LENGTH(Stringa) THEN RETURN Stringa ; ELSE RETURN Stringa COPIES(' ',Len - LENGTH(Stringa))
  39.  
  40. /* ---------------------------------------------------------------------- */
  41.  
  42. WriteLog: PROCEDURE EXPOSE MM. ; PARSE ARG Testo ; MM_WriteLog 'Testo' MM.LogLevel ; RETURN
  43.  
  44. /* ---------------------------------------------------------------------- */
  45.  
  46. Week: PROCEDURE EXPOSE MM. ; RETURN LEFT(DATE('W'),3)
  47.  
  48. /* ---------------------------------------------------------------------- */
  49.  
  50. Lista: PROCEDURE EXPOSE MM. ; PARSE ARG AreaLog ; SELECT ; WHEN MM.Mode = '2' THEN DO ; WRITELN(AreaLog, 'FileName   : 'MM.Name) ; WRITELN(AreaLog, 'Length     : 'MM.Size' bytes') ; WRITELN(AreaLog, 'Description: 'MM.Desc) ; WRITELN(AreaLog, '') ; RETURN ; END ; WHEN MM.Mode = '3' THEN DO ; WRITELN(AreaLog, 'File  : 'Allinea(MM.Name,37) 'Size: 'MM.Size' bytes') ; WRITELN(AreaLog, 'Origin: 'Allinea(MM.OriginNode,37) 'Area: 'MM.AreaTag) ; WRITELN(AreaLog, 'Desc  : 'MM.Desc) ; WRITELN(AreaLog, '') ; RETURN ; END ; WHEN MM.Mode = '4' THEN DO ; WRITELN(AreaLog, 'Area: 'Allinea(MM.AreaTag,10) Allinea('- File: 'MM.Name,30)' ('MM.Size' Bytes)') ; WRITELN(AreaLog, 'Desc: 'MM.Desc) ; WRITELN(AreaLog, '') ; RETURN ; END ; WHEN MM.Mode = '5' THEN DO ; WRITELN(AreaLog, 'File: 'Allinea(MM.Name,27) Allinea('('MM.Size' bytes)',15)' File Echo:' MM.AreaTag) ; WRITELN(AreaLog, 'Date: 'Allinea(MM.Date,27) 'Origin:' MM.OriginNode) ; WRITELN(AreaLog, 'Desc: 'MM.Desc) ; WRITELN(AreaLog, '') ; RETURN ; END
  51. OTHERWISE DO ; WRITELN(AreaLog, 'File: 'Allinea(MM.Name,27) Allinea('('MM.Size' bytes)',15)' File Echo:' MM.AreaTag) ; WRITELN(AreaLog, 'Desc: 'MM.Desc) ; WRITELN(AreaLog, '') ; RETURN ; END ; RETURN
  52.  
  53. /* ---------------------------------------------------------------------- */
  54.  
  55. LOGDATE: PROCEDURE ; Tempo = '* 'LEFT(DATE(),LENGTH(DATE())-4)||RIGHT(DATE(),2)'  'TIME() ; RETURN Tempo
  56.  
  57. /* ---------------------------------------------------------------------- */
  58.